home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 076-100 / scopedisk78 / think103 / demo < prev    next >
Encoding:
Text File  |  1995-03-19  |  45.5 KB  |  1,024 lines

  1. Introduction
  2.  
  3.   This file is a very abbreviated version of the Thinker manual. 
  4.   It is intended only to help in using the demo version of 
  5.   Thinker.  The Demo version of Thinker cannot save any changes 
  6.   to files, does not import or export ASCII, nor does it print.  
  7.   Creating a new file will write on your disk and will in fact 
  8.   create a new Thinker document with a single statement 
  9.   (The copyright notice).  This version of Thinker will only
  10.   handle documents under 60,000 bytes in size. 
  11.  
  12. ******************************************************************
  13.  
  14.   This disk has been updated for Thinker Release 1.03.  See the
  15.   Thinker project  "UPDATES!" to see what has changed since the
  16.   first release of this demo.  Lots of exciting new stuff!!!
  17.  
  18. ******************************************************************
  19.  
  20.     Thinker is available for $59 until March 31, 1989 and
  21.     $80 thereafter from:
  22.  
  23.         Poor Person Software
  24.         3721 Starr King Circle
  25.         Palo Alto, CA 94306
  26.         (415)-493-7234
  27.  
  28.     Source for Tinydraw is available on request at no charge.
  29.  
  30. *******************************************************************
  31.  
  32.   Thinker can trace its heritage all the way back to Doug 
  33.   Englebart's work at SRI's Augmentation Research Laboratory.  
  34.   By combining elements of text processing, outline processing, 
  35.   and hypertext, Thinker becomes an Idea Processor that embodies 
  36.   the basics of Doug's ideas for augmenting the human intellect. 
  37.    The future of Thinker includes links to sound files, WYSIWYG 
  38.   print formatting, use of the  Amiga Clipboard, and more.
  39.  
  40.   What is HyperText?
  41.  
  42.     Footnotes are a form of HyperText.  Within the body of the 
  43.     text is a directive to look somewhere else in the text for 
  44.     more information.  With footnotes the directive is a 
  45.     footnote number while in HyperText the directive is in the 
  46.     form of a character string that "names" another section of 
  47.     the text.  In order for HyperText to work the text is 
  48.     divided into sections and each section has a label.
  49.  
  50.     One often encounters this form of textual link when a phrase 
  51.     like "See Chapter 2, section 1" appears in the text.  This 
  52.     type of link is good but can be carried further.  Imagine 
  53.     that each paragraph in a document had a label that described 
  54.     the topic discussed in the paragraph.  Now one could 
  55.     encounter the phase "See the section <correct use of the 
  56.     passive voice>" which would take you directly to the 
  57.     paragraph on passive voice.  However, where is that 
  58.     paragraph?  What Chapter?  What Page?
  59.  
  60.     When the document is online and being accessed via a 
  61.     HyperText processor, one simply points the mouse at the 
  62.     phase <correct use of the passive voice> and asks to see 
  63.     that paragraph.  Whether it is in chapter 10 or 2 is of no 
  64.     concern to the reader, the HyperText processor will find it 
  65.     and present it to the reader.
  66.  
  67.     HyperText documents do not have to be read linearly like a 
  68.     book.  One can begin in the section with the most interest 
  69.     and follow the links around the document to explore the 
  70.     subject.  The creator of the HyperText document had only to 
  71.     attach descriptive labels to the various sections of the 
  72.     document.
  73.  
  74.   What is Hierarchical Text?
  75.  
  76.     Hierarchical Text is an extension of outlines.  Outlines are 
  77.     the arrangement of topics in subordinate relationships.  
  78.     Rain and snow are two examples of precipitation and they are 
  79.     properly subtopics of precipitation in an outline of a paper 
  80.     on weather.
  81.  
  82.     If the idea of an outline is extended to an arrangement of 
  83.     ideas in subordinate relationships it becomes Hierarchical 
  84.     Text.  Ideas are paragraphs or groups of paragraphs and a 
  85.     paragraph on precipitation might have subordinate paragraphs 
  86.     on the different kinds of precipitation that one might 
  87.     expect to find.
  88.  
  89.   How Thinker combines HyperText and Hierarchical Text
  90.  
  91.     Thinker is a Hierarchical Text processor with HyperText.  A 
  92.     Thinker document is made up of a collection of paragraphs 
  93.     (referred to as "statements" or "branches" in this manual) 
  94.     arranged hierarchically and containing textual links to each 
  95.     other.  Each statement in a Thinker document can have a 
  96.     label and can be referenced by a textual string (a link) 
  97.     that "names" that label.
  98.  
  99.     A statement that begins with "(" has a label, and the label 
  100.     is the string of non-punctuation characters between the 
  101.     first "(" and the closing ")" at the beginning of the 
  102.     statement.  A link in the text consists of the 
  103.     non-punctuation characters between "<" and ">" characters 
  104.     anywhere in the text.  When the label is a single word, the 
  105.     link to it can be expressed without the  "<" and ">" 
  106.     characters.  Thus, each word in a Thinker document is a 
  107.     potential HyperText link to statement somewhere in the 
  108.     hierarchy of statements that make up the document.
  109.  
  110.     To expand the flexibility of Thinker, a link may contain the 
  111.     name of a Thinker document other than the one in which the 
  112.     link is found.   The document name is separated from the 
  113.     label by a comma.  Thus, <Thinker:example,link> is a link to 
  114.     the section labeled "link" in the Thinker document called 
  115.     "example" on the disk named "Thinker".
  116.  
  117.     When a statement has subordinate statements it is called a 
  118.     branch.  Thinker allows the manipulation of a document by 
  119.     moving, copying, and deleting statements and branches.  When 
  120.     a branch is moved, all the subordinate statements are moved 
  121.     as well.  
  122.  
  123.     Display parameters control the format of the text on the 
  124.     screen.  Thinker can be instructed to display only the first 
  125.     line of each statement and give the appearance of a simple 
  126.     outline.  By controlling the depth of the outline visible, 
  127.     the user can actually "see" very large portions of the 
  128.     document at one time.  When the document is manipulated 
  129.     while viewing it in outline form, all of the text that is 
  130.     part of the document is moved when the visible portions are 
  131.     moved.  
  132.  
  133.   What can Thinker "link" to?
  134.  
  135.     A HyperText link can link to one of three things: 1) A 
  136.     Thinker document, 2) An IFF picture file which can be 
  137.     displayed in a new window (the picture is thus compressed in 
  138.     size and colors) or a separate screen, or 3) any Workbench 
  139.     application, in which case the application is launched in 
  140.     its own window and runs as a separate task.  If a project is 
  141.     to be launched, there MUST be a project icon.  If an 
  142.     application is to be launched, it MUST have a Tool icon. 
  143.  
  144.     The ability to link to other Workbench applications makes 
  145.     Thinker into a HyperMedia product.  Drawings, sound 
  146.     applications, database applications, word processing 
  147.     applications are all possible links in a single Thinker 
  148.     document.
  149.  
  150.   How does one interact with Thinker?
  151.  
  152.     All interaction with Thinker is via the Mouse and Menu 
  153.     system of Intuition.  There are no keyboard commands.  
  154.     Gadgets are available for common commands and menus are 
  155.     available for the complete command set.  Requesters are used 
  156.     extensively to provide a highly responsive user interface.  
  157.     These requesters always appear directly under the mouse 
  158.     cursor with the cursor positioned over the most common 
  159.     choice.
  160.  
  161.     Text on the screen is modified as in many word processors.  
  162.     The cursor is positioned in front of text that is to be 
  163.     modified and typing is always in "insert" mode.  Text is 
  164.     "selected" by sweeping the cursor over a block of text while 
  165.     holding the left mouse button down.  Selected text can be 
  166.     "cut" from the statement and "pasted" elsewhere or simply 
  167.     replaced by typing.  Thinker has "search" and "replace" 
  168.     functions to complete the editing capabilities.  
  169.  
  170.     Thinker will print a document or prepare a text file for 
  171.     manipulation by a word processor or typesetting program.  
  172.     Thinker can also import text prepared by a word processor 
  173.     into a Thinker document.
  174.  
  175.     Thinker appears deceptively simple by design.  The fact that 
  176.     labels and links are merely parts of the text eliminates 
  177.     much of the complexity associated with large numbers of 
  178.     obscure commands.  However, one should not be fooled by the 
  179.     appearance of simplicity.  The combination of Hierarchical 
  180.     text, Hypertext, and Word Processing functions makes Thinker 
  181.     a powerful Idea processor.  Take the time to learn Thinker 
  182.     by working with the tutorial project (EXAMPLE) found on the 
  183.     Thinker distribution disk.
  184.  
  185.   NOTE: Thinker uses a lot of memory.  Lack of memory on CP/M 
  186.   and PC DOS systems is what limited Thinker on these machines 
  187.   to a mere toy.  One of the uses of memory is to cache blocks 
  188.   of documents in memory to avoid disk access.  Poor Person 
  189.   Software recommends the use of a Floppy Accelerator such as 
  190.   Facc II by ASDG.  The cache available in Thinker requires a 
  191.   good deal more memory than Facc II to be as effective in 
  192.   reducing disk access.  Do not attempt to use Thinker without 
  193.   either enabling Thinker's read cache (see menus explained 
  194.   under Options) or using a program like Facc II.
  195.  
  196. Definitions
  197.  
  198.   The terms used in describing a Thinker document have other 
  199.   meanings in other environments.  In order to clarify the 
  200.   following discussion of Thinker, the most common Thinker terms 
  201.   are defined here.
  202.  
  203.   Anchor
  204.  
  205.     The statement that appears at the top of the window is 
  206.     sometimes referred to as the anchor statement of the window. 
  207.      The user navigates around in a document by changing the 
  208.     anchor statement.  The anchor statement is changed with Jump 
  209.     commands. 
  210.  
  211.   Branch
  212.  
  213.     A Branch is a statement with subordinate statements.  When a 
  214.     statement is inserted into a document, it may be inserted at 
  215.     any level relative to the other statements in the document.  
  216.     A branch is a statement at any level that has statements 
  217.     below it.   A branch may have a branch subordinate to it.  A 
  218.     Statement with no subordinate statements is sometimes 
  219.     referred to as a Branch.
  220.  
  221.   Clipping Level
  222.  
  223.     Clipping level refers to the number of document levels that 
  224.     are displayed in a window.  A window with a clipping level 
  225.     of 2 will show only the two highest level statements.  
  226.     Clipping can be used to view a hierarchical document at 
  227.     different levels of detail.  The document can be manipulated 
  228.     with clipping levels that exclude much of the document from 
  229.     the screen.  All of the invisible text is moved with the 
  230.     visible text.
  231.  
  232.     The clipping level can be chosen for the entire document or 
  233.     for single branches.  The Clip gadget at the top of the 
  234.     screen or the Clip menu sets the clipping level that applies 
  235.     to the document as a whole.  "+" or "-" gadgets in front of 
  236.     statements manipulate the clipping level applied to the 
  237.     single branch.
  238.  
  239.   Group
  240.  
  241.     A group is a sequence of branches at the same level.
  242.  
  243.   Jump
  244.  
  245.     When the anchor statement of a window is changed, a 
  246.     different portion of the document becomes visible in the 
  247.     window.  This is referred to as a jump.  Jumps can be made 
  248.     relative to a statement visible on the screen or relative to 
  249.     a statement named in a link.  It is also possible to jump to 
  250.     picture files and Workbench applications.
  251.  
  252.   Label
  253.  
  254.     Any statement in a Thinker document may have a label.  A 
  255.     label is a name by which the statement is known and is like 
  256.     a key in a file.  Thinker recognizes a statement that begins 
  257.     with "(" as its first character as being a labeled 
  258.     statement.  The label is all of the non-punctuation 
  259.     characters between the initial "(" and a trailing ")".  
  260.     Labels in a Thinker document must be unique.  The case of 
  261.     letters in a label is not significant and only the first 19 
  262.     non-punctuation characters are significant.  
  263.  
  264.   Level
  265.  
  266.     Statements are arranged in a hierarchy.  The most important 
  267.     statements are at level 1.  Level 2 statements are 
  268.     subordinate to level 1 statements as in an outline.  Thinker 
  269.     does not limit the number of levels in a document but the 
  270.     display on the screen will be less than satisfactory for 
  271.     more than about 30 levels.
  272.  
  273.   Link
  274.  
  275.     A "link" is the appearance of a label in the text.  A link 
  276.     is either a single word or a string of characters delimited 
  277.     by "<" and ">".  A link consists of two parts.  Part one is 
  278.     optional and names a project, Thinker document or file.  
  279.     Part two is separated from part one with a "," and names a 
  280.     branch.  Picture file links consist of only the file name 
  281.     and the comma as in <Thinker:art/mirage,>.  Links may by 
  282.     typed into requester strings as the address of statements 
  283.     when certain operations invite the user to designate a 
  284.     statement.  Links typed into requesters do not have the 
  285.     surrounding "<" and ">" characters.   Links can be activated 
  286.     by putting the cursor over the link in the text and double 
  287.     clicking the left mouse button or by using the Jump Link 
  288.     command.
  289.  
  290.     Links may designate labeled statements in the same or 
  291.     different Thinker document, IFF picture files, or any 
  292.     Workbench application such as a music player, paint package, 
  293.     or CAD application.  Use the Project name or Tool name in 
  294.     the project portion of a link followed by a comma to specify 
  295.     a link to an application.
  296.  
  297.   Mark
  298.  
  299.     Thinker sometimes invites the user to designate a statement 
  300.     as the target of an operation such as "delete" or "move".  
  301.     The user may elect to mark the statement on the screen or 
  302.     type in a link that designates the statement.  A statement 
  303.     is marked by moving the Pointing Cursor (a hand) such that 
  304.     the hand points to the statement and pressing the left mouse 
  305.     button.
  306.  
  307.   Origin
  308.  
  309.     The first statement in a document is referred to as the 
  310.     origin statement.  The origin statement may be moved or 
  311.     deleted in which case some other statement becomes the 
  312.     origin statement.
  313.  
  314.   Statement
  315.  
  316.     A statement is a block of text.  Statements are like 
  317.     paragraphs in many word processing programs.  Thinker does 
  318.     "word-wrap" within a single statement but not across 
  319.     statements.  Text selection (by sweeping the cursor over 
  320.     text with the left mouse button held down) is limited to 
  321.     text within a single statement.  Statements may contain up 
  322.     to 2000 characters of text including standard and extended 
  323.     characters from the Amiga keyboard.  The <ESC> and carriage 
  324.     return characters are also allowed.
  325.  
  326.   View Specifications
  327.  
  328.     The appearance of the text in the window is controlled by 
  329.     three parameters that together are called the view 
  330.     specifications.  These parameters are "Clipping level", 
  331.     "Spacing", "Number of Lines" and are each explained in the 
  332.     Options Menu section.
  333.  
  334.   Window
  335.  
  336.     Only a small portion of a Thinker document can be displayed 
  337.     on the screen at any time.  Thinker uses Intuition windows 
  338.     to view portions of a document.  Up to 8 windows may be open 
  339.     at any time.   Each window may display a portion of a 
  340.     different document or different portions of the same 
  341.     document.
  342.  
  343. Getting Started
  344.  
  345.   Running from the CLI
  346.  
  347.     The command THINKER [PROJECT-NAME] is used to start Thinker 
  348.     from the CLI.  If a project-name is specified, the Thinker 
  349.     window is automatically positioned at the origin of the 
  350.     document.  If the project name specified does not exist or 
  351.     is not a Thinker document or IFF picture file or if no 
  352.     project-name is specified then the Thinker window is blank 
  353.     and the Jump Link command or Create New command must be used 
  354.     to open a Thinker document.
  355.  
  356.   Running from the Workbench
  357.  
  358.     Double clicking the Thinker Icon will initiate Thinker with 
  359.     no active Thinker document (a blank window).  The Jump Link 
  360.     command or Create New command must be used to open a Thinker 
  361.     document.  If a document Icon is double clicked then Thinker 
  362.     is started with the window positioned at the origin of the 
  363.     document.
  364.  
  365.     Thinker terminates when the last window is closed.
  366.  
  367. Thinker Documents
  368.  
  369.   Thinker documents are not always meant to be read linearly.  
  370.   While this manual was created using Thinker, many uses of 
  371.   Thinker take more advantage of the Hypertext and Hierarchical 
  372.   text features.  A skilled Thinker user creates documents with 
  373.   a definite flavor.  These documents do not always read well 
  374.   when flattened and printed on paper and are meant to be read 
  375.   online.  
  376.  
  377.   Outline nature of Thinker documents
  378.  
  379.     If a Thinker document is viewed with a clipping level of 1, 
  380.     only the first level statements (often these statements are 
  381.     topic names or section headers) will be shown.  It is rare 
  382.     but not impossible to have blocks of text at this level.  An 
  383.     executive summary is presented with the clipping level set 
  384.     at 2.  As the clipping level is increased, more and more 
  385.     details are revealed.  If Thinker is used to design a 
  386.     program one would expect to find code fragments or pseudo 
  387.     code at the deepest levels of the document.
  388.  
  389.   Hypertext features
  390.  
  391.     Information is only presented once.  A reader should be able 
  392.     to start reading a Thinker document at the topic of most 
  393.     interest.  All references to terms that require a definition 
  394.     in the context of the document should always have a link to 
  395.     the section of the document where the term is defined.  The 
  396.     fact the Thinker will treat any word as a link means that a 
  397.     Glossary section could define all terms and contain links to 
  398.     the sections that provide further clarification.  
  399.  
  400.     When a new term is encountered, the reader double clicks on 
  401.     the word to open a window over the Glossary section defining 
  402.     that term.  If there is more information available then the 
  403.     Glossary entry will contain a link to the section of the 
  404.     document where the term is introduced and described in 
  405.     detail.  Double clicking on the link can move the Glossary 
  406.     window to the detailed information.
  407.  
  408.     These links make Thinker ideal for online help where the 
  409.     reader can go directly to the section of interest and still 
  410.     be able to locate quickly all the pertinent information.
  411.  
  412.   Planning a book
  413.  
  414.     One possible use of Thinker involves coordinating all the 
  415.     details of a novel.  One technique that might be of value is 
  416.     to have several major sections of a Thinker document for 
  417.     various aspects of the planning process.  One section would 
  418.     have a labeled branch for each character in the book.  Other 
  419.     sections would describe historical events of interests and 
  420.     descriptions of each location.  Each of these sections would 
  421.     have labeled statements for each detail.
  422.  
  423.     The section of the document that describes the story line 
  424.     (plot) of the book would contain links to the sections 
  425.     containing detailed information.  The plot can be reviewed 
  426.     without having to wade through details that might confuse 
  427.     the issues.  As needed, each reference in the plot to 
  428.     details about characters, scenes, events, etc could be 
  429.     checked by jumping to the section of the document where this 
  430.     information is found.  Multiple windows help organize the 
  431.     thought process.
  432.  
  433.   Organizing picture files
  434.  
  435.     Since links may be to IFF picture files, one use of Thinker 
  436.     might be to build a catalog of picture files.  Each section 
  437.     of the document would have a first level statement with a 
  438.     label indicating the type of pictures indexed.  The 
  439.     subordinate statements would contain descriptions of the 
  440.     picture and a link to the picture file.  Pictures are 
  441.     located by jumping to the section of the document with the 
  442.     descriptions for the correct type of picture and then double 
  443.     clicking on the link to the correct picture.
  444.  
  445.   Thinker documents as databases
  446.  
  447.     Labeled statements in Thinker documents are much like 
  448.     indexed records in a database.  There is a great deal of 
  449.     flexibility above the typical database, however.  Records 
  450.     are not a fixed format.  Records can contain a variable 
  451.     number of pointers to other records.  Records can be part of 
  452.     a document meant to be read.  
  453.  
  454.     Using Thinker to write is like writing inside a database as 
  455.     references can be checked with the click of a mouse button.  
  456.     Using Thinker is like having a completely free form database 
  457.     with references to applications, pictures, and documents.
  458.  
  459.   Thinker as a desktop organizer
  460.  
  461.     A desktop document can be used as an alternative to the 
  462.     Workbench.  Within the document are labeled statements 
  463.     covering various working task areas such as Letter Writing, 
  464.     Programming, Finance, etc.  Subordinate to these statements 
  465.     are labeled statements for each task in that area.  These 
  466.     statements describe the task and may include sentences 
  467.     describing the progress of the task.  Finally, there are 
  468.     links within the statements that name the Project or Tool 
  469.     used to work on the task.  A description of a program might 
  470.     contain the name of the source for the program so that you 
  471.     can link directly to the source and work on it within your 
  472.     favorite editor.  Other statements can link to other 
  473.     Projects and Tools, any of which can be launched in 
  474.     multitasking mode.
  475.  
  476. Viewing a Document
  477.  
  478.   A linear document is usually viewed by scrolling a window over 
  479.   the document.  A Thinker document is viewed by navigating 
  480.   around the document using the view specifications to control 
  481.   what is displayed on the screen.  There are three view 
  482.   specifications that control the display.  
  483.  
  484.     Clipping Level
  485.  
  486.       The depth of the hierarchy that is displayed is determined 
  487.       by the Clipping level.  A clipping level of 1 will show 
  488.       only the first level of the hierarchy (the major topics) 
  489.       and as the clipping level is increased more details are 
  490.       shown.
  491.  
  492.       When the choice of clipping level causes statements to be 
  493.       hidden from view, a "+" character appears in front of the 
  494.       branch that has hidden subordinate statements.  Selecting 
  495.       the statement "+" gadget will cause Thinker to display the 
  496.       first level of hidden statements.  The clipping level is 
  497.       increased by one for the selected branch only.
  498.  
  499.       When subordinate statements are displayed as a result of 
  500.       selecting the statement "+" gadget, the "+" gadget is 
  501.       changed into a "-" gadget.  Selecting the statement "-" 
  502.       gadget will cause Thinker to hide the subordinate 
  503.       statements. 
  504.  
  505.       If you want to find a particular area of the document and 
  506.       you don't know the label that names it, you can begin with 
  507.       a clipping level of 1.  Use the statement "+" gadgets to 
  508.       selectively increase the clipping level in the area of 
  509.       interest.
  510.  
  511.     Number of lines shown in each statement
  512.  
  513.       The document can be viewed as an outline by setting the 
  514.       display to show only the first line of each statement.  
  515.       This setting often speeds the search for a particular 
  516.       section significantly as more of the document is shown on 
  517.       the screen at one time.
  518.  
  519.     Spacing between statements
  520.  
  521.       Once the correct section of the document has been located, 
  522.       the spacing is adjusted for either maximum screen content 
  523.       (0 lines between statements) or ease of reading (1 or more 
  524.       lines between statements).
  525.  
  526.   One views a non-linear Thinker document by moving the window 
  527.   to particular places in the document with the Jump command.  
  528.   Jumping can be done relative to a statement or via a link.  
  529.   For each of the Jump commands listed below it is necessary to 
  530.   establish the statement relative to which the Jump takes 
  531.   place.  Most Jump commands require that the designated 
  532.   statement be Marked by moving the Marking Pointer over the 
  533.   statement and pressing the left mouse button.  For some Jumps 
  534.   the label of the statement may be typed into the requester or 
  535.   marked on the screen instead.  For Jumps that allow the 
  536.   designation of a labeled statement, a requester appears with 
  537.   two choices.
  538.  
  539.     Mark
  540.  
  541.       If you select Mark by moving the pointer over the word 
  542.       Mark and pressing the left mouse button, the pointer will 
  543.       change into a hand.  Move the hand so that the finger 
  544.       points to the portion of the text on the screen that 
  545.       represents the name of the designated statement (a link).  
  546.       This can either be any word in the text or a string 
  547.       between the "<" and ">" characters.  Mark the link by 
  548.       pressing the left mouse button.
  549.  
  550.     String Gadget
  551.  
  552.       If there is no string on the screen that represents the 
  553.       link to the designated statement and you know its label 
  554.       name, you can simply type the label name into the string 
  555.       gadget.  The string gadget is already active so you do not 
  556.       need to move the mouse or press any buttons.  Do not type 
  557.       the "<" or ">" that delimit a link in the text.  The 
  558.       <carriage return> key signals the completion of typing.
  559.  
  560.   The following Jump commands are available either through the 
  561.   Command Menu, Jump sub-menu or by selecting the Jump gadget at 
  562.   the top of the screen.  In all cases the result of the Jump is 
  563.   to make the designated statement the anchor of the current 
  564.   window, the anchor of some other open window, or open a new 
  565.   window with the designated statement as its anchor.
  566.  
  567.     Mark
  568.  
  569.       Some statement on the screen is chosen by moving the 
  570.       marking pointer over the statement and pressing the left 
  571.       mouse button.
  572.  
  573.     Link
  574.  
  575.       The designated statement is not on the screen and either 
  576.       its label is known or a link to the statement is on the 
  577.       screen.  The label of the statement can be typed into the 
  578.       string gadget, the marking pointer can be moved over a 
  579.       link to the statement on the screen and selected with the 
  580.       left mouse button or a file requester can be brought up to 
  581.       scan for Thinker documents or workbench applications.  See 
  582.       the section titled File Requester Explained for an 
  583.       explanation of how to use this requester.
  584.  
  585.       There is a short cut to doing a Jump Link.  Any time the 
  586.       left mouse button is "double clicked" an implicit Jump 
  587.       Link (Mark) command is executed with the link being the 
  588.       character string under the cursor.  If the cursor is 
  589.       between "<" and ">" characters, then the delimited string 
  590.       is used as the link.  If no "<" and ">" characters appear 
  591.       on the line then the word under the cursor is used as the 
  592.       link.  These are the same rules for locating the link on 
  593.       the line when Mark is selected on a Jump Link command.
  594.  
  595.     Return
  596.  
  597.       The last 6 of 16 possible previous locations in the 
  598.       document are summarized in a requester.  Select the 
  599.       designated statement from the selection list in the 
  600.       requester with the mouse.  The first portion of the string 
  601.       shown in the requester is part of the project name 
  602.       (between "<" and ">").
  603.  
  604.     Forward
  605.  
  606.       This is a Jump to the last statement on the screen.  Jump 
  607.       Forward can be used repeatedly to scroll forward in a 
  608.       Thinker document.
  609.  
  610.     Up
  611.  
  612.       Once the statement has been marked with the Marking 
  613.       Pointer, the window is moved to the statement of which the 
  614.       marked statement is subordinate.
  615.  
  616.     Down
  617.  
  618.       This Jump is like Jump Up except that the window is moved 
  619.       to the next statement one level deeper in the hierarchy.  
  620.       This is more likely to be useful if the resultant Jump is 
  621.       to a level deeper than the current clipping level (toward 
  622.       more details).
  623.  
  624.     Preceding
  625.  
  626.       The Jump is to the statement that precedes the marked 
  627.       statement at the same level.  Note that if the marked 
  628.       statement is the first statement in a group that is 
  629.       subordinate to some statement, the Jump does not complete 
  630.       as there is no statement preceding the marked one at the 
  631.       same level.
  632.  
  633.     Succeeding
  634.  
  635.       The Jump is to the statement that follows the marked 
  636.       statement at the same level.  If the statement marked is 
  637.       the last statement of a group subordinate to some 
  638.       statement, the Jump does not complete as there is no 
  639.       statement following at the same level.
  640.  
  641.     Next
  642.  
  643.       The Jump is to the statement that follows the designated 
  644.       statement regardless of level.  Jump Next is a scroll 
  645.       forward.
  646.  
  647.     Back
  648.  
  649.       The Jump is to the statement that precedes the designated 
  650.       statement regardless of the level.  Jump Back is like a 
  651.       scroll backward one statement.
  652.  
  653.     Origin
  654.  
  655.       The Jump is to the origin statement of the document.
  656.  
  657. Editing
  658.  
  659.   Text within a statement is edited much like text in a standard 
  660.   word processor.  Of course any editor is a bit fascist and 
  661.   Thinker is no exception.
  662.  
  663.   The cursor is positioned by using the mouse or cursor keys.  
  664.   The cursor keys move the cursor within a statement, between 
  665.   statements, and will cause statement scrolling forward or 
  666.   back.  When the mouse is used to position the cursor, the left 
  667.   mouse button is used to mark the place in the text.  
  668.   Subsequent typing inserts characters at the cursor location.  
  669.   "Backspace" deletes a character to the left of the cursor and 
  670.   moves the cursor to the left.  "Delete" deletes a character to 
  671.   the right of the cursor and does not move the cursor.
  672.  
  673.   All printable keyboard characters are allowed in text 
  674.   (including alternate characters).  In addition the <ESC> 
  675.   character and <CR> character are allowed.  The <ESC> character 
  676.   is useful for imbedding printer commands in text.  The <CR> 
  677.   (carriage return) character is used in formatting tables as a 
  678.   single statement rather than as a group of statements.  The 
  679.   <CR> character is visible as "~" and causes the cursor to move 
  680.   to the next line of the statement in the first column of the 
  681.   statement.  A <New Line> character is put into the text. 
  682.  
  683.   A block of text may be selected by holding down the left mouse 
  684.   button while moving the cursor over the text on the screen.  
  685.   Only text that is totally within a single statement can be 
  686.   selected in this fashion.  Once selected, the text can be 
  687.   "Cut" from the statement and "Pasted" at some other location.  
  688.   Selected text is replaced by any typed characters and the 
  689.   selected text is forever lost.
  690.  
  691.   Undo is supported with the "Discard Modifications" menu 
  692.   selection.  All modifications including structural changes are 
  693.   deleted.  The user may select "undo points" by using the 
  694.   "Apply Modifications" menu selection.  In fact no changes are 
  695.   recorded until Apply Modifications is selected.  There is a 
  696.   reminder warning presented if the user attempts to leave 
  697.   Thinker without Applying Modifications.  The requester gives 
  698.   the opportunity to Apply or Discard the modifications.
  699.  
  700.   Search and Replace operations are selected from the Edit menu.
  701.  
  702. (manipulating the structureManipulating the Structure
  703.  
  704.   Statements in a Thinker document may be moved within the 
  705.   hierarchy, moved to another document, copied to other places 
  706.   in the same document, or copied to other documents or deleted. 
  707.    The movement, copying, or deletion of statements does not 
  708.   require that the entire structure to be moved, copied or 
  709.   deleted be visible on the screen as parts of the structure may 
  710.   be obscured by the selection of viewing specifications.
  711.  
  712.   It is the ability to manipulate whole structures of the 
  713.   document that make the hierarchical text such a powerful tool. 
  714.    The viewing specifications can be set to view the document in 
  715.   its outline form (set the number of lines for each displayed 
  716.   statement to 1) and the entire document can be restructured.
  717.  
  718.   Move and Copy and Delete options are available for individual 
  719.   statements, branches, and groups of statements or branches.  
  720.   In all cases a sequence of requesters walks the user through 
  721.   the operation.  Some of these requesters have a "Prev" or 
  722.   "Previous" gadget which will recall the previously typed 
  723.   string gadget.
  724.  
  725.   New statements can be Inserted into the document at any level. 
  726.    A double click of the menu button shortcuts the insert 
  727.   process.
  728.  
  729.     Insert
  730.  
  731.       Selecting the Insert gadget (or menu selection Insert 
  732.       Mark) presents the Marking Pointer.  A new statement will 
  733.       be inserted after the statement marked.  A confirmation 
  734.       requester allows the user to select the level relative to 
  735.       the marked statement.  Remember that Up and Down refer to 
  736.       the physical subordination of statements as viewed on the 
  737.       screen.
  738.  
  739.       Double clicking the right mouse button with the cursor 
  740.       over a statement is eqivalent to selecting Insert and 
  741.       marking a statement.
  742.  
  743.       Menu selections Insert After, Insert Down, and Insert Up 
  744.       insert a statement relative to the statement with the 
  745.       active typing cursor without the confirmation requester or 
  746.       any mouse action.
  747.  
  748.     Delete
  749.  
  750.       The user is presented with a requester to select either a 
  751.       Branch or Group delete.  Once the choice has been made, 
  752.       the user is walked through the selection process.  Each 
  753.       time that a statement is to be designated the user is 
  754.       given the choice of Marking the statement with the Marking 
  755.       Pointer or typing in the label name of the statement.  The 
  756.       designated statement or group need not be visible on the 
  757.       screen nor even in the same document that is visible on 
  758.       the screen.
  759.  
  760.       However, if the Mark option is used for both the beginning 
  761.       and end of a group, both ends of the group must be in the 
  762.       same window.
  763.  
  764.     Copy
  765.  
  766.       The user is presented with a requester to select 
  767.       Statement, Branch, or Group copy.  Once selected, the user 
  768.       is walked through the selection process.
  769.  
  770.       Copy Group is like Delete Group in that both the begin and 
  771.       end statements must be marked in the same window, however, 
  772.       either the end or beginning may be specified by typing the 
  773.       label in the string gadget.
  774.  
  775.       The destination of the copy may be marked in the same or 
  776.       another Thinker window.  The destination of the copy may 
  777.       also be in another project that is not visible (as in 
  778.       delete.)
  779.  
  780.       There are some restrictions on the destination of a copy.  
  781.       A Branch or Group may not be copied to a place within the 
  782.       Branch or Group as this copy would never complete. 
  783.  
  784.     Move
  785.  
  786.       Move is almost like Copy.  In fact Move may be thought of 
  787.       as a Copy followed by a Delete.
  788.  
  789. A Tutorial Example
  790.  
  791.   The first part of the tutorial will walk the user through the 
  792.   process of building a Thinker document.  The second part of 
  793.   the tutorial makes use of an existing Thinker document called 
  794.   "example".  
  795.  
  796.   The Thinker document "Example" is a tutorial that leads the 
  797.   user through a short example of using Thinker to view and 
  798.   manipulate a document.  Duplicate the EXAMPLE document using 
  799.   the "Duplicate" option of the "Workbench" menu before trying 
  800.   the tutorial.  If you want to recover the original EXAMPLE 
  801.   document you can discard the EXAMPLE icon and "Rename" the 
  802.   "copy of example" icon.
  803.  
  804.   Start the first part of the tutorial by double clicking on the 
  805.   Thinker icon.  This will start the Thinker program and bring 
  806.   up a window with the basic gadgets and menus but will have no 
  807.   document displayed.  At this point we might jump into some 
  808.   existing document or create a new document.  One would jump 
  809.   into an existing document with the Jump Link command and 
  810.   create a new document with the Create New menu selection (in 
  811.   the Project menu). 
  812.  
  813.   As an example of jumping into an existing document, there is a 
  814.   section in the "example" project that explains the format of a 
  815.   link.  The label on this section is "link".  To jump to that 
  816.   section, begin by selecting the Jump Link command (either from 
  817.   the menu bar or by selecting the "Jump" gadget at the top of 
  818.   the window and then selecting the "Link" gadget in the Jump 
  819.   Requester.)  Next, type in the string "example,link" (without 
  820.   the " marks) followed by typing the "RETURN" key.  Finally, 
  821.   select the "This Window" gadget in the Jump Confirmation 
  822.   Requester.
  823.  
  824.   Typing the string "example," (note the comma but no label 
  825.   typed after the comma) would jump to the beginning (origin) of 
  826.   the document "example".
  827.  
  828.   Whether or not you take the diversion suggested by the 
  829.   previous paragraphs, you create a new Thinker document by 
  830.   selecting the "Create New" menu option from the "Project" 
  831.   menu.   Do so now.  Note that a requester pops up inviting you 
  832.   to enter a project name.  The first part of the requester is 
  833.   filled in with the name of the current Drawer.  Since you 
  834.   double clicked the Thinker icon directly, this Drawer name 
  835.   will be the Drawer in which the Thinker program was found.  
  836.   The Requester is already activated so simply type in the name 
  837.   of your new project.  In this example we use the name 
  838.   "tutorial".  If you entered the name "example" you will be 
  839.   greeted by a requester asking if you want to replace the 
  840.   "example" project that already exists.  You should respond by 
  841.   selecting the CANCEL gadget and begin again typing the name 
  842.   "tutorial".
  843.  
  844.   After some disk activity the window will display the new 
  845.   document (note the change in the window title) and the 
  846.   document will contain a single statement (a Copyright notice). 
  847.    The first thing to do is to replace the Copyright notice with 
  848.   the first statement of our new document.  You might try using 
  849.   the Delete (Branch) command but you will find that you cannot 
  850.   delete the only branch in a document.    
  851.  
  852.   Move the pointer over the Copyright notice and observe that 
  853.   while the pointer is within the statement it is shaped like a 
  854.   cursor.  Move the cursor shape to the very beginning of the 
  855.   statement and press the left mouse button.  While holding down 
  856.   the left mouse button, move the cursor to the end of the 
  857.   statement.  Notice that the selected text becomes highlighted 
  858.   as you move the cursor.  When you have the entire statement 
  859.   selected, release the left mouse button.  Type in the string 
  860.   "What I did last Summer" (do not type the RETURN key).  Notice 
  861.   that the selected text is removed and replaced with the typed 
  862.   string.
  863.  
  864.   Now we are going to add some statements.  This initial 
  865.   document will look a great deal like an outline.  Remember 
  866.   that any statement you type could be as long as 2000 
  867.   characters and fill the entire window.  In order to keep this 
  868.   first example short, we will only type a few words in each 
  869.   statement.
  870.  
  871.   Select the "Insert" gadget at the top of the window.  Note 
  872.   that the pointer changes into a hand with a pointing finger.  
  873.   Move the hand so that the finger points at the first 
  874.   statement.  Press the left mouse button and notice that an 
  875.   Insert Confirmation Requester pops up with the pointer 
  876.   pointing to the word "After".  If you wanted this new 
  877.   statement to be directly after the first statement, you would 
  878.   simply press the left mouse button again.  Instead, move the 
  879.   pointer over the word "Down" in the requester and press the 
  880.   left mouse button.  Notice that the text insert cursor appears 
  881.   on the screen just below the first statement and indented by 
  882.   two characters.  Type the string "(school)Went to Summer touch 
  883.   typing classes.".  
  884.  
  885.   Select the Insert gadget again and move the hand to point to 
  886.   the statement you just typed.  Press the left mouse button 
  887.   twice (the first time selects the statement and the second 
  888.   time selects the word "After" in the confirmation requester.)  
  889.   Type the string "(beach)Went to the beach with Bob and met his 
  890.   little girl Lauren."  (Who is Bob?)  Bob is someone that 
  891.   attended the same typing class so you will want to put any 
  892.   information about Bob in statements that are subordinate to 
  893.   the statement labeled "school".  Position the pointer over the 
  894.   first statement (the one labeled "school") and double click 
  895.   the right mouse button.  The Insert Confirmation Requester 
  896.   should pop up and you should select the "Down" gadget.  Type 
  897.   the string "(bob)Met Bob, a computer science student who 
  898.   wanted to learn typing skills."
  899.  
  900.   Move the pointer back to the last statement "(beach)Went...." 
  901.   and position the cursor over the word "Bob" and double click 
  902.   the left mouse button.  Notice that the Jump Confirmation 
  903.   Requester pops up with the pointer positioned over the words 
  904.   "This Window".  Move the pointer over the word "New Window" 
  905.   and press the left mouse button.  Notice that the new window 
  906.   opens with the statement "(bob)Met Bob,..." as the anchor of 
  907.   the window.  This is an example of a hypertext link.  "Bob" is 
  908.   the label on the statement "(bob)Met..." and the double click 
  909.   of the left mouse button with the cursor over the word "Bob" 
  910.   was a Jump Link command.  The same effect could be caused by 
  911.   selecting the "Jump Link" command from the "Commands" menu, or 
  912.   by selecting the Jump (Link) gadget at the top of the window 
  913.   and typing the characters "bob" followed by RETURN.  
  914.  
  915.   Who is Lauren?  Position the cursor right after the word 
  916.   "Lauren" and press the left mouse button once.  The text input 
  917.   cursor should appear between the "n" and the ".".  Type the 
  918.   string " (See <mirage,>)".  This is a link to a 
  919.   picture file.  Note that the comma must be present to indicate 
  920.   that the link is to some other file and not the document shown 
  921.   in the window ("tutorial"). 
  922.  
  923.   You have just added a hypertext link to an IFF picture file.  
  924.   This link had to be surrounded by "<" and ">" because it 
  925.   contained punctuation characters (":" and ",").  Move the 
  926.   cursor between the "<" and the ">" and double click the left 
  927.   mouse button.  When the Picture Confirmation Requester pops up 
  928.   select the "Full Screen" gadget.  After a pause, a picture of 
  929.   Lauren appears (From the NewTek "Digi Paint" package.)  Typing 
  930.   any character or pressing the left mouse button will remove 
  931.   the picture and return the Thinker screen.  Repeat the 
  932.   selection of the picture link and select the "New Window" 
  933.   gadget.  This time an approximation of the same picture will 
  934.   be drawn in a new workbench window that you may move around on 
  935.   the screen.  This approximate picture is drawn with the 4 
  936.   colors available on your workbench.  The window has an 
  937.   invisible close gadget in the upper left corner that will 
  938.   close the window when selected. 
  939.  
  940.   If you want to save the changes you have made to this new 
  941.   project, select the "Apply Modifications" menu selection from 
  942.   the "Project" menu.  "Discard Modifications" will restore the 
  943.   project to its initial state (with the Copyright notice).
  944.  
  945.   This completes the first part of the tutorial.  The second 
  946.   part of the tutorial uses an existing document called 
  947.   "example".  You can begin by closing the Thinker window 
  948.   (select the close gadget in the upper left corner) and 
  949.   starting all over again by double clicking on the EXAMPLE 
  950.   icon, or by doing a Jump Link to "example," (don't forget the 
  951.   comma).  In either case you should read the next paragraph 
  952.   before going on with the second part of the tutorial.
  953.  
  954.   Start the second part of the tutorial by double clicking on 
  955.   the EXAMPLE icon or by selecting the icon and use the "Open" 
  956.   option of the "Workbench" menu.  Read carefully and follow the 
  957.   instructions.  It is helpful if you read ahead a little before 
  958.   executing the instructions.  The tutorial is not very long or 
  959.   complicated but is intended solely to give the reader a little 
  960.   familiarity with the behavior of Thinker and build a little 
  961.   confidence for the first time user of Thinker.
  962.  
  963. Not So Obvious Features
  964.  
  965.   Most of the operation of Thinker can be discovered by 
  966.   exploring the menus and selecting the gadgets.  There are, 
  967.   unfortunately, some behaviors that are not manifest by this 
  968.   exploration.  There are also some curious restrictions.  Poor 
  969.   Person Software tries hard to produce software that is useful 
  970.   and complete but without all the frills that would make it 
  971.   expensive.
  972.  
  973.   Restrictions
  974.  
  975.     When the Mark option is used for both the beginning and end 
  976.     of a group, both ends of the group must be in the same 
  977.     window.
  978.  
  979.     Only 19 characters of a label are significant.
  980.  
  981.   Features
  982.  
  983.     Undo
  984.  
  985.       Once modifications have been applied to a Thinker document 
  986.       they cannot be "undone".  However, Thinker will accumulate 
  987.       all the updates to a document in its memory (the Update 
  988.       pool) until Apply Modifications is selected in the Project 
  989.       Menu.  The user should learn to schedule updates to allow 
  990.       for backout of recent errors.
  991.  
  992.     Remembering Local Clip adjustments
  993.  
  994.       When the clipping level for a branch is adjusted using the 
  995.       "+" gadgets in front of statements, this action is 
  996.       recorded in a small in-memory data base.  This database 
  997.       has room for 32 selections of "+" gadgets in each project. 
  998.        If the 33rd entry is made into this database, the oldest 
  999.       entry is purged. 
  1000.  
  1001.     Power Tools
  1002.  
  1003.       Double clicking the right mouse button with the pointer 
  1004.       positioned over a statement will cause Thinker to put up
  1005.       a "power tool" requester.  The left side of the requester
  1006.       is an "Insert" confirmation requester and the pointer is
  1007.       positioned over the "After" selection.  Selecting "After"
  1008.       causes Thinker to insert a statement after the one under
  1009.       the pointer.  
  1010.  
  1011.       The right side of the requester allows selection of the 
  1012.       "Copy", "Move", "Jump", and "Delete" tools.  Selecting one
  1013.       of these gadgets is equivalent to selecting the corresponding
  1014.       gadget at the top of the window.
  1015.  
  1016.     Duplicate Labels
  1017.  
  1018.       Thinker does not allow duplicate labels.  When a label is 
  1019.       encountered that is a duplicate of an already existing 
  1020.       label, the label is changed to a null label.  When this 
  1021.       happens, a statement may end up beginning with "()" which 
  1022.       is the result of eliminating the duplicate label.
  1023.  
  1024.